<?php
/***
 * 生成子孙树
 * @param $data 待处理的数据数组
 * @param int $pid 父ID 默认为0
 * @param int $lev 级别 默认为0
 * @return array 处理后的数组
 */
function getSubTree($data, $pid = 0, $lev = 0)
{
  static $tree = array();
  foreach ($data as $key => $value) {
    //当前处理的元素是否是要查找的子节点
    if ($value["pid"] == $pid) {
      //增加lev值
      $value["lev"] = $lev;
      //处理栏目名称 增加“|”和“----”
      $str = ($lev == 0) ? "" : "|";
      $value["cName"] = str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;", $value["lev"]) . $str . str_repeat("----", $value["lev"]) . $value["cName"];
      $tree[] = $value;
      //处理完毕后将本次处理的元素删除,减少下一次遍历的次数,提高效率
      unset($value["$key"]);
      //递归查找以当前元素的ID为PID的元素
      getSubTree($data, $value["id"], $lev + 1);
    }
  }
  return $tree;
}

/***
 * 使用layui的提示信息
 * @param string $msg 弹出消息
 * @param string $icon 图标样式 默认皮肤可以传入0-6，0感叹号 1对号 2错号 3问号 4锁 5 哭脸 6 笑脸
 * @param string $url 跳转地址
 * @param string $time 自动关闭所需毫秒
 */
function layerAlert($msg = "", $icon = "", $url = "", $time = "2000")
{
  //加载layui
  $str = "<script src='layui/layui.js'></script>";
  //调用layer
  $str .= "<script>layui.use('layer',function(){layer.msg('$msg',{icon:$icon,time:$time,end:function () {location.href = '$url'}});})</script>";
  echo $str;
  exit();
}